Skip to content

Event streaming, telemetry lineage and app log context - v4.12.0 milestone - #21

Merged
acn-ericlaw merged 1 commit into
mainfrom
feature/progressive-rendering-v4.12.0
Aug 30, 2026
Merged

Event streaming, telemetry lineage and app log context - v4.12.0 milestone#21
acn-ericlaw merged 1 commit into
mainfrom
feature/progressive-rendering-v4.12.0

Conversation

@acn-ericlaw

Copy link
Copy Markdown
Collaborator

What

The Python language pack's half of the progressive-rendering program, released
as v4.12.0 - the version now aligns with the Mercury Composable engine
lock-step line (both engines and both language packs at the same version).

  • Event streaming (the engines' exact contract): interceptor functions
    with EventStreamWriter (first/write/write_named/close/fail), the
    streaming /api/event host speaking the hybrid envelope-mode SSE dialect
    with the pinned 406/503/408 degradations, PostOffice.stream() (async
    iterator with the dialect conformance guards) and stream_to() (the relay
    composition), all on the primitive bus's new reply_to mechanism - simple
    routing, no orchestration.
  • Telemetry lineage: every traced execution mints a 16-hex span parented
    on the caller's; outbound events, RPC tags, stream segments and sender
    attribution follow the engines' PostOffice/WorkerHandler rules; non-RPC
    executions emit the engines' distributed-trace dataset on the
    distributed.tracing stdout stream for log-ingest stitching.
  • Business correlation-id continuity: the my_cid tag stamps outbound,
    local deliveries inject the read-only my_correlation_id view, and
    trace_context() carries it for edge callers.
  • Application log context: the engines' app-log-context feature with the
    packaged default-log-context.yaml, resources/app-log-context.yaml
    override, app.log.context flag, and the update_context() developer API -
    every structured log line inside a traced request carries the context
    block that joins app logs to the trace on spanId.
  • The interop test report and the demo app's self-documenting continuity
    echoes (trace id + business cid in eof metadata, a context-bearing log line).

Why

Progressive rendering is useful by itself and lays the foundation for the AI
SDLC: LLM, MCP and tool adapters will live in this language pack as streaming
functions, and this round gives them the full observability story - one trace
tree, business correlation and app-log context from user to engine to wrapper
and back. Live-verified against both engines and the Node.js twin in the
interop report.

Verification

pytest 83/83, ruff clean, basedpyright 0 errors, mkdocs strict clean; live
cross-runtime drives recorded in
docs/test-reports/progressive-rendering-interop.md.

🤖 Generated with Claude Code

Co-Authored-By: Claude Code noreply@anthropic.com

…stone

The wrapper half of the progressive-rendering program: the multi-shot reply
contract and envelope-mode SSE dialect (producer EventStreamWriter + streaming
/api/event host + PostOffice.stream/stream_to consumer), the engines' reply_to
mechanism on the primitive bus, business correlation-id continuity, full span
lineage with the engines' distributed-trace dataset on stdout logs, and the
app-log-context feature with the packaged default template. Version aligned
with the engine lock-step line at 4.12.0.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@acn-ericlaw
acn-ericlaw merged commit bfca7e4 into main Aug 30, 2026
5 checks passed
@acn-ericlaw
acn-ericlaw deleted the feature/progressive-rendering-v4.12.0 branch August 30, 2026 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant